package cn.sjx.graduate.domain;

import java.math.BigDecimal;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.Version;
import com.baomidou.mybatisplus.annotation.TableId;
import java.io.Serializable;
import java.util.Date;

import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;

/**
 * <p>
 * 
 * </p>
 *
 * @author bo-feifei
 * @since 2021-11-07
 */
@Data
@EqualsAndHashCode(callSuper = false)
@ApiModel(value="高校职工工资明细", description="")
public class StaffPayroll implements Serializable {

    private static final long serialVersionUID = 1L;

    @ApiModelProperty(value = "教师编号")
    @TableId(value = "id", type = IdType.AUTO)
    private Long id;

    @ApiModelProperty(value = "姓名")
    private String name;

    @ApiModelProperty(value = "employee对应的id 员工id")
    private Long employeeId;

    @ApiModelProperty(value = "请假时长")
    private Integer leaveHours;

    @ApiModelProperty(value = "月基本工作量")
    private String basicWorkload;

    @ApiModelProperty(value = "加班时长（双倍工资）")
    private Integer overTime;

    @ApiModelProperty(value = "月基本工资")
    private BigDecimal basicPay;

    @ApiModelProperty(value = "加班工资")
    private BigDecimal overtimeWages;

    @ApiModelProperty(value = "请假所扣工资")
    private BigDecimal leaveSalary;

    @ApiModelProperty(value = "实际总工资")
    private BigDecimal totalWages;

    @ApiModelProperty(value = "创建时间")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date createTime;

    @ApiModelProperty(value = "教师类别")
    @TableField(exist = false)
    private StaffType staffType;

    public static long getSerialVersionUID() {
        return serialVersionUID;
    }

    public Long getId() {
        return id;
    }

    public void setId(Long id) {
        this.id = id;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public Long getEmployeeId() {
        return employeeId;
    }

    public void setEmployeeId(Long employeeId) {
        this.employeeId = employeeId;
    }

    public Integer getLeaveHours() {
        return leaveHours;
    }

    public void setLeaveHours(Integer leaveHours) {
        this.leaveHours = leaveHours;
    }

    public String getBasicWorkload() {
        return basicWorkload;
    }

    public void setBasicWorkload(String basicWorkload) {
        this.basicWorkload = basicWorkload;
    }

    public Integer getOverTime() {
        return overTime;
    }

    public void setOverTime(Integer overTime) {
        this.overTime = overTime;
    }

    public BigDecimal getBasicPay() {
        return basicPay;
    }

    public void setBasicPay(BigDecimal basicPay) {
        this.basicPay = basicPay;
    }

    public BigDecimal getOvertimeWages() {
        return overtimeWages;
    }

    public void setOvertimeWages(BigDecimal overtimeWages) {
        this.overtimeWages = overtimeWages;
    }

    public BigDecimal getLeaveSalary() {
        return leaveSalary;
    }

    public void setLeaveSalary(BigDecimal leaveSalary) {
        this.leaveSalary = leaveSalary;
    }

    public BigDecimal getTotalWages() {
        return totalWages;
    }

    public void setTotalWages(BigDecimal totalWages) {
        this.totalWages = totalWages;
    }

    public Date getCreateTime() {
        return createTime;
    }

    public void setCreateTime(Date createTime) {
        this.createTime = createTime;
    }

    public StaffType getStaffType() {
        return staffType;
    }

    public void setStaffType(StaffType staffType) {
        this.staffType = staffType;
    }
}
